// 导入 invokeEmpyreanRequest 模块
import invokeEmpyreanRequest from '@/services/invokeEmpyreanRequest.js';

// 导入 app.config.js 中的变量
import {
	basePrefix,
	paymentPrefix
} from '../../app.config.js';

// 创建 invokeEmpyreanRequest 实例，传入配置参数
const request = new invokeEmpyreanRequest({
	baseURLs: {
		base: basePrefix, // 设置基本 URL
		payment: paymentPrefix // 设置支付 URL
	},
	defaultBaseURL: basePrefix, // 设置默认基本 URL
	timeout: 5000, // 设置超时时间为 5000ms 

});
request.addRequestInterceptor((options) => {
	// 显示 loading
	uni.showLoading({
		title: '加载中...',
		mask: true
	});
	// 在请求发起前的处理逻辑
	// 比如添加 ldoading 效果，设置请求头，修改请求参数等
	return options
});
request.addResponseInterceptor((response) => {
	// 隐藏 loading
	uni.hideLoading();
	// 处理响应结果
	if (response.statusCode === 200 && response.data && response.data.code === 0) { 
		return response.data.data;
	} else {
		throw new Error(response.data.msg || '请求失败');
	}
	// 在响应返回后的处理逻辑
	// 比如根据响应状态码进行特定处理，处理返回数据等
});
// 导出 request 对象作为默认导出
export default request;